In the development of personal computers, there is a continuing escalation of the demands created by ever more sophisticated software to improve the performance or operating characteristics of the computer. Modern personal computers primarily use microprocessors developed by Intel.RTM. designated as the Pentium.RTM. microprocessor. With this and other microprocessors, the key to high performance in a personal computer is the utilization of parallelism in the processing of instructions.
To accomplish parallel operation, multiple execution units are operated in parallel under the control of a dispatcher to permit simultaneous processing of instructions. While the use of multiple parallel-operated execution units increases the performance of the computer, this is accomplished by the consumption of increased power, which also generates increased temperatures in the computer. Even though multiple parallel execution units increase the performance of the processor, power is wasted when conflicts exist and the results must be discarded. In addition, power is wasted when some of the execution units are idle or performing no operations during various time intervals.
Except for the thermal considerations, power consumption in a desktop computer generally is not a factor. The use of increased power levels, however, is a significant factor for most portable battery operated personal computers. The increased performance which is obtained from the operation of parallel execution units is offset by decreased battery life. In the case of portable personal computers, the thermal considerations also can be significant because of the compact packaging and less efficient cooling systems.
Portable computers generally are equipped with thermal sensors, which operate cooling fan controls and clock throttling in order to avoid overheating and destruction of sensitive components. Generally, however, portable computers involve a trade-off between performance and battery life. If long battery life is desired, slower performance or lower performance levels are employed. If high performance (that is, parallel operation of multiple execution units) is employed, the result generally is a shortened battery life between recharging.
It is desirable to provide a power control system for a microprocessor which selectively may be used to conserve battery life or to increase performance.